package com.joolun.system.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.joolun.common.annotation.Excel;
import com.joolun.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 企业微信客户对象 scrm_customer
 * 
 * @author joolun
 * @date 2025-02-25
 */
@Data
public class ScrmCustomer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 外部企业ID */
    @Excel(name = "外部企业ID")
    private String extCorpId;

    /** 创建者外部员工ID */
    @Excel(name = "创建者外部员工ID")
    private String extCreatorId;

    /** 微信定义的userID */
    @Excel(name = "微信定义的userID")
    private String extId;

    /** 名称，微信用户对应微信昵称；企业微信用户，则为联系人或管理员设置的昵称、认证的实名和账号名称 */
    @Excel(name = "名称，微信用户对应微信昵称；企业微信用户，则为联系人或管理员设置的昵称、认证的实名和账号名称")
    private String name;

    /** 职位,客户为企业微信时使用 */
    @Excel(name = "职位,客户为企业微信时使用")
    private String position;

    /** 客户的公司名称,仅当客户ID为企业微信ID时存在 */
    @Excel(name = "客户的公司名称,仅当客户ID为企业微信ID时存在")
    private String corpName;

    /** 头像 */
    @Excel(name = "头像")
    private String avatar;

    /** 类型,1-微信用户, 2-企业微信用户 */
    @Excel(name = "类型,1-微信用户, 2-企业微信用户")
    private Integer type;

    /** 性别,0-未知 1-男性 2-女性 */
    @Excel(name = "性别,0-未知 1-男性 2-女性")
    private Integer gender;

    /** 微信开放平台的唯一身份标识(微信unionID) */
    @Excel(name = "微信开放平台的唯一身份标识(微信unionID)")
    private String unionid;

    /** 仅当联系人类型是企业微信用户时有此字段 */
    @Excel(name = "仅当联系人类型是企业微信用户时有此字段")
    private String externalProfile;

    /** 是否是我们的客户，0->不是，1->是 */
    @Excel(name = "是否是我们的客户，0->不是，1->是")
    private Integer hasFriend;

    /** '创建时间' */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @Excel(name = "'创建时间'", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** '更新时间' */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @Excel(name = "'更新时间'", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** '删除时间' */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "'删除时间'", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deletedAt;

    /** 是否移除员工 */
    @Excel(name = "是否移除员工")
    private Integer isDeletedStaff;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    @TableField(exist = false)
    private String companyName;


}
